package cn.maihe.elg.operation.centers.hymake.dto.handler.vo.xm;

import cn.maihe.elg.operation.centers.hymake.dto.HyMakeBaseReqDTO;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;
import java.util.Map;

/**
 * @Description
 * @Author caixh
 * @Date 2022/3/30.
 * 3.1.9、接收电子投标保函退保申请(文件)
 */
@Data
public class XMRevokeApplyReqDTO extends HyMakeBaseReqDTO {
    /**
     * 账户标识
     */
    @NotBlank
    private String appId;

    /**
     * 投标人名称
     */
    @NotBlank
    private String applyId;

    /**
     * 时间戳，格式（yyyyMMddHHmmss）
     */
    private String timestamp;

    /**
     * 签名值，计算规则参考签名规则
     */
    private String signature;

    /**
     * 退保信息
     */
    private SurrenderInfo surrenderInfo;


    @NotEmpty
    @Valid
    private List<FileInfo> filesInfo;//	投保材料文件列表	List	投保材料文件列表

    /**
     * FILEKEY 对应的值
     */
    private Map<String, String> fileKeys;

    @Data
    public static class FileInfo {
        @NotBlank
        private String filekey;

        @NotBlank
        private String filename;

        @NotBlank
        private String filemd5;

//        private String filetype;
    }


    @Data
    public static class SurrenderInfo {

        /**
         * 申请编号
         */
        private String orderNo;
        /**
         * 电子保单（合同）单号
         */
        private String policyNo;
        /**
         * 退保原因
         */
        private String reason;
        /**
         * 退保收款名
         */
        private String bankAccount;
        /**
         * 退保收款账户
         */
        private String bankCode;
        /**
         * 退保收款开户行
         */
        private String bankOpenbank;
    }
}
